package labox.innovation.gameserver.handler;

import java.io.IOException;
import java.util.logging.Logger;

import labox.innovation.gameserver.model.L2Object;
import labox.innovation.gameserver.model.L2Skill;
import labox.innovation.gameserver.model.actor.L2Character;
import labox.innovation.gameserver.templates.skills.L2SkillType;

/**
 * an IItemHandler implementation has to be stateless
 *
 * @version $Revision: 1.2.2.2.2.3 $ $Date: 2005/04/03 15:55:06 $
 */

public interface ISkillHandler {

	/**
	 * this is the worker method that is called when using an skill.
	 * @param activeChar
	 * @param skill
	 * @param target
	 * @throws IOException
	 */
	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) throws IOException;

	/**
	 * this method is called at initialization to register all the skill ids automatically
	 * @return all known skillIds
	 */
	public L2SkillType[] getSkillIds();
}
